1. Field of the Invention
The present invention relates to a rule-based inference system.
2. Description of the Related Art
In computer science, and specifically the branches of knowledge engineering and artificial intelligence, an inference engine is a computer program that attempts to derive answers from a knowledge base. The inference engine is “the brain” that expert systems use to reason about the information available in the knowledge in order to formulate new conclusions. (source: Wikipedia).
Inference engines of various types are described in the following patent documentation.
A US patent application US20110219355 describes a system for authoring and translation of business rules onto computer executable instructions. The system contains a translator module enabling translation of rules input in a specified language into a code (e.g. in Java programming language), enabling processing of instructions contained in the code in the appropriate module of the patented system. The system also enables automatic transfer of translated rules to the execution module with built-in business rules engine specifying in what way individual tasks or messages are to be processed.
A U.S. Pat. No. 8,196,126 describes a system for dynamically generating and optimizing code for business rules. Unlike other applications for inputting rules, where mainly the mechanism for inputting conditions for rules by business user is described, this solution concentrates on the aspects concerning translation of the defined sets of rules into a set of computer readable instructions.
The U.S. Pat. No. 8,140,362 describes a method for using business rules to input dynamic changes and update in content management system. The document describes the selection of an appropriate set of rules depending on the type of input data, using one type of applying (forward, backward, or mixed) depending on the method of description of the specific set of rules, as well the possibility to update and modify the set of rules.
A U.S. Pat. No. 7,257,579 discloses an application for managing sales transactions and deliveries to customers. It enables defining business rules and introduces their classification into specific types of business rules. The created types of rules enable quick searching in the rules repository and invoking appropriate actions. The application enables modification of the business rules execution sequence.
A U.S. Pat. No. 5,119,470 presents an inference engine module based on rules repository. The presented solution was created with a view to expert systems, in order to improve the decision making process based on input data. The solution enables creation of modules responsible for forward and backward reasoning, development of the control module responsible for the selection of the appropriate reasoning type for specific input data, and application of Rete's algorithm in the inference process.
A US patent application US20090112654 describes a system for quality assurance in business rule management system. It involves automatically executing tests on rule repository, repeated after each change in the rule repository, as well as creation of a repository of tests to check the logical and formal validity of the defined rules.
In the rule management systems known till now, it is assumed that all source data necessary to draw a conclusion for an identified rule are available or can be obtained. It would be useful to improve the systems known so far in order to allow more freedom in defining the availability of source data.